Here's a brief outline of VirtualBox's main features:
Clean architecture; unprecedented modularity. VirtualBox has an extremely modular design with well-defined internal programming interfaces and a clean separation of client and server code. This makes it easy to control it from several interfaces at once: for example, you can start a VM simply by clicking on a button in the VirtualBox graphical user interface and then control that machine from the command line, or even remotely. See Chapterá7, Alternative front-ends; remote virtual machines for details.
Due to its modular architecture, VirtualBox can also expose its full functionality and configurability through a comprehensive software development kit (SDK), which allows for integrating every aspect of VirtualBox with other software systems. Please see Chapterá10, VirtualBox programming interfaces for details.
No hardware virtualization required. As explained in the previous chapter, in most cases, VirtualBox does not require the processor features built into newer hardware like Intel VT-x or AMD-V. As opposed to many other virtualization solutions, you can therefore use VirtualBox even on older hardware where these features are not present.
Easy portability. VirtualBox runs on a large number of 32-bit and 64-bit host operating systems (Windows, Linux, Mac OS X and Solaris), and new platforms are added regularly (see Sectioná1.4, “Supported host operating systems”).
Guest Additions. The VirtualBox Guest Additions are software packages which can be installed inside of supported guest systems to improve their performance and to provide additional integration and communication with the host system. After installing the Guest Additions, a virtual machine will support automatic adjustment of video resolutions, seamless windows and more. The Guest Additions are described in detail in Chapterá4, The VirtualBox Guest Additions.
In particular, Guest Additions provide for "shared folders", which let you access files from the host system from within a guest machine. Shared folders are described in Sectioná4.6, “Folder sharing”.
XML configuration store. VirtualBox stores all its configuration in XML files: one XML document for global settings and a XML file per virtual machine. This allows you to transport VM definitions between the different frontends and even across host computers. For details, please refer to Sectioná9.1, “VirtualBox configuration data”.
Great hardware support. Among others, VirtualBox supports:
Full ACPI support. The Advanced Configuration and Power Interface (ACPI) is fully supported by VirtualBox. This eases cloning of PC images from real machines or third-party virtual machines into VirtualBox. With its unique ACPI power status support, VirtualBox can even report to ACPI-aware guest operating systems the power status of the host. For mobile systems running on battery, the guest can thus enable energy saving and notify the user of the remaining power (e.g. in fullscreen modes).
I/O APIC support. VirtualBox virtualizes an Input/Output Advanced Programmable Interrupt Controller (I/O APIC) which is found in many modern PC systems. This eases cloning of PC images from real machines or 3rd party virtual machines into VirtualBox.
USB device support. VirtualBox implements a virtual USB controller and allows you to connect arbitrary USB devices to your virtual machines without having to install device-specific drivers on the host. USB support is not limited to certain device categories. For details, see Sectioná3.7.7.1, “USB settings”.
Multiscreen resolutions. VirtualBox virtual machines support screen resolutions many times that of a physical screen, allowing them to be spread over a large number of screens attached to the host system.
Built-in iSCSI support. This unique feature allows you to connect a virtual machine directly to an iSCSI storage server without going through the host system. The VM accesses the iSCSI target directly without the extra overhead that is required for virtualizing hard disks in container files. For details, see Sectioná5.5, “iSCSI servers”.
PXE Network boot. The integrated virtual network cards of VirtualBox fully support remote booting via the Preboot Execution Environment (PXE).
Multigeneration snapshots. VirtualBox can save successive snapshots of the state of the virtual machine. You can revert the virtual machine to the state of any of the snapshots. For details, see Sectioná3.4.4, “Snapshots”.
VRDP remote access. You can run any virtual machine in a special VirtualBox program that acts as a server for the VirtualBox Remote Desktop Protocol (VRDP). With this unique feature, VirtualBox provides high-performance remote access to any virtual machine. A custom RDP server has been built directly into the virtualization layer and offers unprecedented performance and feature richness.
VRDP support is described in detail in Sectioná7.4, “Remote virtual machines (VRDP support)”.
On top of this special capacity, VirtualBox offers you more unique features:
Extensible RDP authentication. VirtualBox already supports Winlogon on Windows and PAM on Linux for RDP authentication. In addition, it includes an easy-to-use SDK which allows you to create arbitrary interfaces for other methods of authentication; see Sectioná9.3, “Custom external VRDP authentication” for details.
USB over RDP. Via RDP virtual channel support, VirtualBox also allows you to connect arbitrary USB devices locally to a virtual machine which is running remotely on a VirtualBox RDP server; see Sectioná7.4.3, “Remote USB” for details.